
#pragma once

#include <iostream>

template<typename T>struct TypedMessage;


struct Reader
{
    template<typename T>
    void takeMessage(TypedMessage<T>& message)
    {
        (void)message;
        std::cout << "processed template message\n";
    }

    void takeMessage(TypedMessage<int>& message);
};

#include "message.h"
